package com.example.project.utils;

/**
 * HanLP功能测试类
 */
public class HanLPTest {
    
    public static void main(String[] args) {
        // 测试文本
        String text1 = "需要修复用户登录功能的bug，登录时出现异常错误";
        String text2 = "用户登录功能存在bug，需要修复登录异常问题";
        String text3 = "优化系统性能，提升响应速度";
        
        System.out.println("=== HanLP关键词提取测试 ===");
        
        // 测试关键词提取
        System.out.println("文本1关键词: " + HanLPUtil.extractTechnicalKeywords(text1, 10));
        System.out.println("文本2关键词: " + HanLPUtil.extractTechnicalKeywords(text2, 10));
        System.out.println("文本3关键词: " + HanLPUtil.extractTechnicalKeywords(text3, 10));
        
        System.out.println("\n=== 文本相似度测试 ===");
        
        // 测试相似度计算
        double similarity1 = HanLPUtil.calculateSimilarity(text1, text2);
        double similarity2 = HanLPUtil.calculateSimilarity(text1, text3);
        
        System.out.println("文本1 vs 文本2 相似度: " + similarity1);
        System.out.println("文本1 vs 文本3 相似度: " + similarity2);
        
        System.out.println("\n=== 需求分类测试 ===");
        
        // 测试需求分类
        System.out.println("文本1分类: " + HanLPUtil.classifyRequirement(text1));
        System.out.println("文本2分类: " + HanLPUtil.classifyRequirement(text2));
        System.out.println("文本3分类: " + HanLPUtil.classifyRequirement(text3));
        
        System.out.println("\n=== 需求优先级测试 ===");
        
        // 测试优先级提取
        System.out.println("文本1优先级: " + HanLPUtil.extractPriority(text1));
        System.out.println("文本2优先级: " + HanLPUtil.extractPriority(text2));
        System.out.println("文本3优先级: " + HanLPUtil.extractPriority("这是一个普通的优化需求"));
        
        System.out.println("\n=== 需求相似度综合测试 ===");
        
        // 测试综合相似度
        double reqSimilarity = HanLPUtil.calculateRequirementSimilarity(
            "修复登录bug", "用户登录时出现异常错误",
            "修复登录问题", "用户登录功能存在bug"
        );
        System.out.println("需求相似度: " + reqSimilarity);
    }
}